Advertisement
oylenshpeegul

Matching numbers using Perl regex

Feb 16th, 2012
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 0.49 KB | None | 0 0
  1. #!/usr/bin/env perl
  2.  
  3. use v5.14;
  4. use warnings;
  5.  
  6. my $str = 'Usage:524944/1000000 messages';
  7.  
  8. # Sadly, the most common way.
  9. if ( $str =~ m{Usage:(\d+)/(\d+) messages} ) {
  10.     my ($used, $total) = ($1, $2);
  11.     say "$used $total";
  12. }
  13.  
  14. # Better, pre-modern Perl.
  15. if (my ($used, $total) = $str =~ m{Usage:(\d+)/(\d+) messages}) {
  16.     say "$used $total";
  17. }
  18.  
  19. # Modern Perl has named captures!
  20. if ($str =~ m{Usage:(?<used>\d+)/(?<total>\d+) messages} ) {
  21.     say "$+{used} $+{total}";
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement