teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コメントの情報から追記

2017/08/09 02:59

投稿

ester41
ester41

スコア148

answer CHANGED
@@ -8,4 +8,26 @@
8
8
  if ( $ipaddress =~ /\d+\.\d+\.\d+\.(\d+)$/ ) {
9
9
  print "$1\n";
10
10
  }
11
+ ```
12
+
13
+ # コメントを受けての追記
14
+ `foreach`で配列を回して変更する形でどうでしょうか
15
+ ```perl
16
+ use strict;
17
+ use warnings;
18
+ use Data::Dumper;
19
+
20
+ my $ip_list = [
21
+ '192.168.130.5', '192.168.130.10',
22
+ '192.168.130.11', '192.168.130.120',
23
+ '192.168.130.122'
24
+ ];
25
+
26
+ print "修正前: " . Dumper($ip_list);
27
+
28
+ foreach my $ipaddress ( @{$ip_list} ) {
29
+ $ipaddress = $1 if ( $ipaddress =~ /\d+\.\d+\.\d+\.(\d+)$/ );
30
+ }
31
+
32
+ print "修正後: " . Dumper($ip_list);
11
33
  ```

1

正規表現の修正

2017/08/09 02:59

投稿

ester41
ester41

スコア148

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  正規表現で取得が可能です。
2
2
  `(\d+)$`
3
3
  または
4
- `\d+\.\d+\.\d+\.(\d+)`
4
+ `\d+\.\d+\.\d+\.(\d+)$`
5
5
 
6
6
  ```perl
7
7
  my $ipaddress = '192.168.130.5';