1# (c) 2020, Berkhan Berkdemir 2# (c) 2021, Alexei Znamensky 3# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) 4 5- name: bail out for non-supported platforms 6 meta: end_play 7 when: 8 - (ansible_os_family != "RedHat" or ansible_distribution_major_version|int < 7) 9 - ansible_os_family != "Debian" 10 11- name: install perl development package for Red Hat family 12 package: 13 name: 14 - perl-devel 15 - perl-App-cpanminus 16 state: present 17 become: yes 18 when: ansible_os_family == "RedHat" 19 20- name: install perl development package for Debian family 21 package: 22 name: 23 - cpanminus 24 state: present 25 become: yes 26 when: ansible_os_family == "Debian" 27 28- name: install a Perl package 29 cpanm: 30 name: JSON 31 notest: yes 32 register: install_perl_package_result 33 34- name: assert package is installed 35 assert: 36 that: 37 - install_perl_package_result is changed 38 - install_perl_package_result is not failed 39 40- name: install same Perl package 41 cpanm: 42 name: JSON 43 notest: yes 44 register: install_same_perl_package_result 45 46- name: assert same package is installed 47 assert: 48 that: 49 - install_same_perl_package_result is not changed 50 - install_same_perl_package_result is not failed 51 52- name: install a Perl package with version operator 53 cpanm: 54 name: JSON 55 version: "@4.01" 56 notest: yes 57 mode: new 58 register: install_perl_package_with_version_op_result 59 60- name: assert package with version operator is installed 61 assert: 62 that: 63 - install_perl_package_with_version_op_result is changed 64 - install_perl_package_with_version_op_result is not failed 65