- 论坛徽章:
- 7
|
maybe:
- #!/usr/bin/perl
- use 5.010;
- my ( %har, $lista );
- while (<DATA>) {
- my ( $dit, $dat ) = split;
- push @$lista, $dit unless $har{$dit};
- push @{ $har{$dit}{lista} }, $dat;
- }
- rabta();
- # ____________________SUB____________________
- sub rabta { R_( $lista, 1, [] ) }
- sub R_ {
- my ( $lista, $premier, $kolek ) = @_;
- say join ' -> ', @$kolek unless @$lista;
- for my $dit (@$lista) {
- next if $premier and $har{$dit}{bekas};
- if ( !$har{$dit} ) {
- R_( [], 0, [ @$kolek, $dit ] );
- }
- else {
- $har{$dit}{bekas} = 1;
- R_( $har{$dit}{lista}, 0, [ @$kolek, $dit ] );
- }
- }
- }
- __DATA__
- 57562 57782
- 57562 57783
- 57773 57778
- 57782 57773
- 57782 57796
复制代码 |
|